package com.smile.service.entity.organization;

import com.alibaba.fastjson2.annotation.JSONField;

import java.util.List;

public class AirportBindStatusDetailedData {

    @JSONField(name = "output")
    private BindStatusOutput output;

    @JSONField(name = "result")
    private int resultCode;

    // 嵌套类 - 绑定状态输出
    public static class BindStatusOutput {
        @JSONField(name = "bind_status")
        private List<DeviceBindStatus> bindStatusList;

        // Getter & Setter
        public List<DeviceBindStatus> getBindStatusList() {
            return bindStatusList;
        }

        public void setBindStatusList(List<DeviceBindStatus> bindStatusList) {
            this.bindStatusList = bindStatusList;
        }

        @Override
        public String toString() {
            return "BindStatusOutput{" +
                    "bindStatusList=" + bindStatusList +
                    '}';
        }
    }

    // 嵌套类 - 设备绑定状态
    public static class DeviceBindStatus {
        @JSONField(name = "device_callsign")
        private String deviceCallsign;

        @JSONField(name = "is_device_bind_organization")
        private boolean deviceBoundToOrganization;

        @JSONField(name = "organization_id")
        private String organizationId;

        @JSONField(name = "organization_name")
        private String organizationName;

        @JSONField(name = "sn")
        private String serialNumber;

//        @JSONField(name = "is_device_bind_organization")
//        private Boolean isDeviceBindOrganization;

        // Getters & Setters
        public String getDeviceCallsign() {
            return deviceCallsign;
        }

        public void setDeviceCallsign(String deviceCallsign) {
            this.deviceCallsign = deviceCallsign;
        }

        public boolean getDeviceBoundToOrganization() {
            return deviceBoundToOrganization;
        }

        public void setDeviceBoundToOrganization(boolean deviceBoundToOrganization) {
            this.deviceBoundToOrganization = deviceBoundToOrganization;
        }

        public String getOrganizationId() {
            return organizationId;
        }

        public void setOrganizationId(String organizationId) {
            this.organizationId = organizationId;
        }

        public String getOrganizationName() {
            return organizationName;
        }

        public void setOrganizationName(String organizationName) {
            this.organizationName = organizationName;
        }

        public String getSerialNumber() {
            return serialNumber;
        }

        public void setSerialNumber(String serialNumber) {
            this.serialNumber = serialNumber;
        }

        @Override
        public String toString() {
            return "DeviceBindStatus{" +
                    "deviceCallsign='" + deviceCallsign + '\'' +
                    ", deviceBoundToOrganization=" + deviceBoundToOrganization +
                    ", organizationId='" + organizationId + '\'' +
                    ", organizationName='" + organizationName + '\'' +
                    ", serialNumber='" + serialNumber + '\'' +
                    '}';
        }
    }

    // Getters & Setters
    public BindStatusOutput getOutput() {
        return output;
    }

    public void setOutput(BindStatusOutput output) {
        this.output = output;
    }

    public int getResultCode() {
        return resultCode;
    }

    public void setResultCode(int resultCode) {
        this.resultCode = resultCode;
    }







    @Override
    public String toString() {
        return "AirportBindStatusDetailedData{" +
                "output=" + output +
                ", resultCode=" + resultCode +
                '}';
    }
}